package com.raitcon.hibernate.bean;
// Generated 27/05/2014 07:54:56 AM by Hibernate Tools 3.2.1.GA


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Empleado generated by hbm2java
 */
@Entity
@Table(name="empleado"
    ,schema="public"
)
public class Empleado  implements java.io.Serializable {


     private long idEmpleado;
     private String nombres;
     private String apellidoPaterno;
     private String apellidoMaterno;
     private Integer dniEmpleado;
     private Date fechaNacimiento;
     private Character sexo;
     private String email;
     private Character estadoCivil;
     private Integer telefono;
     private char tipoEmpleado;
     private Set<GradoSeccion> gradoSeccions = new HashSet<GradoSeccion>(0);
     private Set<Nota> notas = new HashSet<Nota>(0);
    
    public Empleado() {
    }

    public Empleado(long idEmpleado) {
        this.idEmpleado = idEmpleado;
   }
    
    public Empleado(long idEmpleado, String nombres, String apellidoPaterno,
            String apellidoMaterno, int dniEmpleado, char tipoEmpleado) {
        this.idEmpleado = idEmpleado;
        this.nombres = nombres;
        this.apellidoPaterno = apellidoPaterno;
        this.apellidoMaterno = apellidoMaterno;
        this.dniEmpleado = dniEmpleado;
        this.tipoEmpleado = tipoEmpleado;
    }
    public Empleado(long idEmpleado, String nombres,
            String apellidoPaterno, String apellidoMaterno, int dniEmpleado,
            Date fechaNacimiento, Character sexo, String email,
            Character estadoCivil, Integer telefono, char tipoEmpleado,
            Set<GradoSeccion> gradoSeccions, Set<Nota> notas) {
       this.idEmpleado = idEmpleado;
       this.nombres = nombres;
       this.apellidoPaterno = apellidoPaterno;
       this.apellidoMaterno = apellidoMaterno;
       this.dniEmpleado = dniEmpleado;
       this.fechaNacimiento = fechaNacimiento;
       this.sexo = sexo;
       this.email = email;
       this.estadoCivil = estadoCivil;
       this.telefono = telefono;
       this.tipoEmpleado = tipoEmpleado;
       this.gradoSeccions = gradoSeccions;
       this.notas = notas;
      
    }
   
     @Id 
    
    @Column(name="id_empleado", unique=true, nullable=false)
    public long getIdEmpleado() {
        return this.idEmpleado;
    }
    
    public void setIdEmpleado(long idEmpleado) {
        this.idEmpleado = idEmpleado;
    }
    
    @Column(name="nombres", nullable=false)
    public String getNombres() {
        return this.nombres;
    }
    
    public void setNombres(String nombres) {
        this.nombres = nombres;
    }
    
    @Column(name="apellido_paterno", nullable=false)
    public String getApellidoPaterno() {
        return this.apellidoPaterno;
    }
    
    public void setApellidoPaterno(String apellidoPaterno) {
        this.apellidoPaterno = apellidoPaterno;
    }
    
    @Column(name="apellido_materno", nullable=false)
    public String getApellidoMaterno() {
        return this.apellidoMaterno;
    }
    
    public void setApellidoMaterno(String apellidoMaterno) {
        this.apellidoMaterno = apellidoMaterno;
    }
    
    @Column(name="dni_empleado", nullable=false)
    public Integer getDniEmpleado() {
        return this.dniEmpleado;
    }
    
    public void setDniEmpleado(Integer dni) {
        this.dniEmpleado = dni;
    }
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="fecha_nacimiento", length=29)
    public Date getFechaNacimiento() {
        return this.fechaNacimiento;
    }
    
    public void setFechaNacimiento(Date fechaNacimiento) {
        this.fechaNacimiento = fechaNacimiento;
    }
    
    @Column(name="sexo", length=1)
    public Character getSexo() {
        return this.sexo;
    }
    
    public void setSexo(Character sexo) {
        this.sexo = sexo;
    }
    
    @Column(name="email")
    public String getEmail() {
        return this.email;
    }
    
    public void setEmail(String email) {
        this.email = email;
    }
    
    @Column(name="estado_civil", length=1)
    public Character getEstadoCivil() {
        return this.estadoCivil;
    }
    
    public void setEstadoCivil(Character estadoCivil) {
        this.estadoCivil = estadoCivil;
    }
    
    @Column(name="telefono")
    public Integer getTelefono() {
        return this.telefono;
    }
    
    public void setTelefono(Integer telefono) {
        this.telefono = telefono;
    }
    
    @Column(name="tipo_empleado", nullable=false, length=1)
    public char getTipoEmpleado() {
        return this.tipoEmpleado;
    }
    
    public void setTipoEmpleado(char tipoEmpleado) {
        this.tipoEmpleado = tipoEmpleado;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="empleado")
    public Set<GradoSeccion> getGradoSeccions() {
        return this.gradoSeccions;
    }
    
    public void setGradoSeccions(Set<GradoSeccion> gradoSeccions) {
        this.gradoSeccions = gradoSeccions;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="empleado")
    public Set<Nota> getNotas() {
        return this.notas;
    }
    
    public void setNotas(Set<Nota> notas) {
        this.notas = notas;
    }

}


